# define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stddef.h>

//struct S
//{
//	char c1;
//	int a;
//	char c2;
//};
//
//#define OFFSETOF(type,member) (size_t)&(((type*)0)->member)
//
//int main()
//{
//	printf("%d\n", OFFSETOF(struct S,c1));
//	printf("%d\n", OFFSETOF(struct S,a));
//	printf("%d\n", OFFSETOF(struct S,c2));
//
//	return 0;
//}
	

#define SWAP(x) (x=((x&0x55555555)<<1)+((x&0xaaaaaaaa)>>1))

int main()
{
	int a = 10;
	SWAP(a);
	printf("%d\n", a);
	return 0;
}